// 导入mysql模块
const mysql = require("mysql");

module.exports = {
  //数据库配置
  config: {
    host: 'localhost',
    port: '3306',
    user: 'root',
    password: 'root',
    database: 'test',
    charset: 'UTF8_GENERAL_CI'
  },
  //连接数据库，使用mysql的连接池方式
  //连接池对象
  sqlConnect: function (sql, sqlArr, callBack) {  // sql语句  sql数组  回调函数
    //连接池优点：当数据很大的时候，可以减少数据查询时间
    var pool = mysql.createPool(this.config);
    pool.getConnection(function (err, conn) {
      if (err) {
        console.log('连接失败');
        return;
      }
      // 事件驱动回调
      conn.query(sql, sqlArr, callBack);

      // 释放连接
      conn.release();
    })
  },
  sqldelete: function (sql, sqlArr, callBack) {  // sql语句  sql数组  回调函数
    //连接池优点：当数据很大的时候，可以减少数据查询时间
    var pool = mysql.createPool(this.config);
    pool.query(sql, sqlArr, (err, result) => {
      if (err) throw err;
      console.log(result);
      if (result.affectedRows > 0) {
        console.log('删除成功');
      } else {
        console.log('删除失败');
      }
    });
  },
  sqladd: function (sql, sqlArr, callBack) {  // sql语句  sql数组  回调函数
    //连接池优点：当数据很大的时候，可以减少数据查询时间
    var pool = mysql.createPool(this.config);
    pool.query(sql, sqlArr, (err, result) => {
      if (err) throw err;
      console.log(result);
      // if (result.insertId) {
      //   console.log('成功');
      // } else {
      //   console.log('失败');
      // }
    });
  }
  //promise 回调
  // SySqlConnect: function (sySql, sqlArr) {
  //   return new Promise((resolve, reject) => {
  //     var pool = mysql.createPool(this.config);
  //     pool.getConnection(function (err, conn) {
  //       console.log('123');
  //       if (err) {
  //         reject(err);
  //       } else {
  //         conn.query(sySql, sqlArr, (err, data) => {
  //           if (err) {
  //             reject(err)
  //           } else {
  //             resolve(data);
  //           }
  //           conn.release();
  //         });
  //       }

  //     })
  //   }).catch((err) => {
  //     console.log(err);
  //   })
  // }
}